package Algorithm;

public class LC189 {
    //翻转数组
    public void rotate(int[] nums, int k) {
        k=k%nums.length;
        reverse(nums,0,nums.length-1);
        reverse(nums,0,k-1);
        reverse(nums,k,nums.length-1);
    }
    private void reverse(int[] nums,int i,int j){
        while(i<j){
            int tmp=nums[i];
            nums[i]=nums[j];
            nums[j]=tmp;
            i++;
            j--;
        }
    }
    //暴力法
//    public void rotate(int[] nums, int k) {
//        if(k==0) return;
//        int[] arr=new int[nums.length];
//        for(int i=0;i<nums.length;i++){
//            arr[(i+k)%nums.length]=nums[i];
//        }
//        for(int i=0;i<nums.length;i++){
//            nums[i]=arr[i];
//        }
//    }
}
